package com.shujia.wyh.day16;

/*
        统计一个字符串中大写字母字符，小写字母字符，数字字符出现的次数。(不考虑其他字符)

        "JavaHadoopHive2048"

        结果：
            大写字母：3个
            小写字母：11个
            数字：4个

        分析：
        1、首先定义三个变量分别统计不同字符的个数
            bigCount = 0;
            smallCount = 0;
            numberCount = 0;

        2、遍历字符串获取到每一个字符（另外一种遍历方式）
            for循环遍历字符串（length(),charAt()）

        3、判断获取到的字符是属于哪一类的？
            bigCount++;
            smallCount++;
            numberCount++;

            怎么去判断字符是属于哪一类的呢？
            ASCII码值：
            'a': 97
            'A': 65
            '0': 48

        4、输出结果

 */
public class StringTest2 {
    public static void main(String[] args) {
        String s = "JavaHadoopHive2048";

        //1、首先定义三个变量分别统计不同字符的个数
        int bigCount = 0;
        int smallCount = 0;
        int numberCount = 0;

        //2、遍历字符串获取到每一个字符（另外一种遍历方式）
        for (int i = 0; i < s.length(); i++) {
            char ch = s.charAt(i);
            //3、判断获取到的字符是属于哪一类的？
            if (ch >= 'a' && ch <= 'z') {
                smallCount++;
            } else if (ch >= 'A' && ch <= 'Z') {
                bigCount++;
            } else if (ch >= '0' && ch <= '9') {
                numberCount++;
            }
        }

        //4、输出结果
        System.out.println("大写字母字符的个数为：" + bigCount);
        System.out.println("小写字母字符的个数为：" + smallCount);
        System.out.println("数字字符的个数为：" + numberCount);

    }
}
